<template>
  <div class="student">
    <h2>学生姓名：{{name}}</h2>
    <h2>学生性别：{{gender}}</h2>
    <h2>当前求和为：{{number}}</h2>
    <button @click="add">点我number++</button>
    <button @click="sendStudentName">把学生名给App</button>
    <button @click="unbind">解绑atguigu事件</button>
    <button @click="death">销毁当前student组件实例对象</button>
  </div>
</template>

<script>

export default {
  // eslint-disable-next-line vue/multi-word-component-names
  name: 'Student',
  data(){
    return{
      name:'张三',
      gender:'男',
      number:0
    }
  },
  methods:{
    sendStudentName(){
      //触发Student组件实例对象身上的atguigu事件
      this.$emit('atguigu',this.name,666,888,900);
      //this.$emit('demo');
    },
    unbind(){
      //解绑自定义事件（只能解绑一个事件）
      this.$off('atguigu')
      //解绑自定义事件（解绑多个事件）
      //this.$off(['atguigu','demo']);
      //解绑自定义事件（解绑全部事件）
      //this.$off();
    },
    death(){
      //销毁了当前student组件实例,销毁后所有Student实例自定义事件全都不奏效
      this.$destroy();
    },
    add(){
      console.log('add回调被调用了')
      this.number++;
    }
  }
}
</script>
<style lang="less" scoped>
  .student{
    background-color: pink;
    padding: 5px;
    margin-top: 30px;
  }
</style>